package com.nsoft.server.register.beans;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import com.nsoft.server.master.beans.PartyMaster;
import com.nsoft.server.master.beans.VehicleMaster;

@Entity
@Table(name = "gc_header")
public class GcHeader implements Serializable {
	@Id
	@Column(name = "gch_num_id")
	private int gchNumId;

	@Column(name = "gch_char_gcno")
	private String gchCharGcno;

	@Column(name = "gch_date_dispatched")
	private Date gchDateDispatched;

	@Column(name = "gch_date_delivered")
	private Date gchDateDelivered;

	public PartyMaster getConsignorPartyMaster() {
		return consignorPartyMaster;
	}

	public void setConsignorPartyMaster(PartyMaster consignorPartyMaster) {
		this.consignorPartyMaster = consignorPartyMaster;
	}

	public PartyMaster getConsigneePartyMaster() {
		return consigneePartyMaster;
	}

	public void setConsigneePartyMaster(PartyMaster consigneePartyMaster) {
		this.consigneePartyMaster = consigneePartyMaster;
	}

	public VehicleMaster getLorryVechileMaster() {
		return lorryVechileMaster;
	}

	public void setLorryVechileMaster(VehicleMaster lorryVechileMaster) {
		this.lorryVechileMaster = lorryVechileMaster;
	}

	public PartyMaster getTransportPartyMaster() {
		return transportPartyMaster;
	}

	public void setTransportPartyMaster(PartyMaster transportPartyMaster) {
		this.transportPartyMaster = transportPartyMaster;
	}

	@ManyToOne
	@JoinColumn(name = "gch_num_consignorid")
	private PartyMaster consignorPartyMaster;

	/*
	 * @Column(name="gch_num_consignorid") private int gchNumConsignorid;
	 */

	@Column(name = "gch_char_consignoraddress")
	private String gchCharConsignoraddress;

	@ManyToOne
	@JoinColumn(name = "gch_char_consigneeId")
	private PartyMaster consigneePartyMaster;
	/*
	 * @Column(name="gch_char_consigneeId") private int gchCharConsigneeid;
	 */

	@Column(name = "gch_char_consigneeaddress")
	private String gchCharConsigneeaddress;

	@ManyToOne
	@JoinColumn(name = "gch_char_lorryno")
	private VehicleMaster lorryVechileMaster;

	/*
	 * @Column(name="gch_char_lorryno") private int gchCharLorryno;
	 */

	@ManyToOne
	@JoinColumn(name = "gch_num_transportId")
	private PartyMaster transportPartyMaster;

	/*
	 * @Column(name="gch_num_transportId") private int gchNumTransportid;
	 */

	@Column(name = "gch_num_status")
	private int gchNumStatus;

	@Column(name = "gch_cur_totalcharge")
	private BigDecimal gchCurTotalcharge;

	@Column(name = "gch_cur_othercharge")
	private BigDecimal gchCurOthercharge;

	@Column(name = "gch_cur_paid")
	private BigDecimal gchCurPaid;

	@Column(name = "gch_char_general1")
	private String gchCharGeneral1;

	@Column(name = "gch_char_general2")
	private String gchCharGeneral2;

	@Column(name = "gch_char_general3")
	private String gchCharGeneral3;

	@Column(name = "gch_char_general4")
	private String gchCharGeneral4;

	@Column(name = "gch_char_general5")
	private String gchCharGeneral5;

	@Column(name = "gch_char_updatedby")
	private String gchCharUpdatedby;

	@Column(name = "gch_date_updatedon")
	private Date gchDateUpdatedon;

	@OneToMany(mappedBy = "bidNumGcno")
	private Set<BillingDetail> billingDetailCollection;

	@OneToMany(mappedBy = "gcdNumGcid")
	private Set<GcDetails> gcDetailsCollection;

	@OneToMany(mappedBy = "gcfNumGcid")
	private Set<GcFooter> gcFooterCollection;

	private static final long serialVersionUID = 1L;

	public GcHeader() {
		super();
	}

	public int getGchNumId() {
		return this.gchNumId;
	}

	public void setGchNumId(int gchNumId) {
		this.gchNumId = gchNumId;
	}

	public String getGchCharGcno() {
		return this.gchCharGcno;
	}

	public void setGchCharGcno(String gchCharGcno) {
		this.gchCharGcno = gchCharGcno;
	}

	public Date getGchDateDispatched() {
		return this.gchDateDispatched;
	}

	public void setGchDateDispatched(Date gchDateDispatched) {
		this.gchDateDispatched = gchDateDispatched;
	}

	public Date getGchDateDelivered() {
		return this.gchDateDelivered;
	}

	public void setGchDateDelivered(Date gchDateDelivered) {
		this.gchDateDelivered = gchDateDelivered;
	}

	public String getGchCharConsignoraddress() {
		return this.gchCharConsignoraddress;
	}

	public void setGchCharConsignoraddress(String gchCharConsignoraddress) {
		this.gchCharConsignoraddress = gchCharConsignoraddress;
	}

	public String getGchCharConsigneeaddress() {
		return this.gchCharConsigneeaddress;
	}

	public void setGchCharConsigneeaddress(String gchCharConsigneeaddress) {
		this.gchCharConsigneeaddress = gchCharConsigneeaddress;
	}

	public int getGchNumStatus() {
		return this.gchNumStatus;
	}

	public void setGchNumStatus(int gchNumStatus) {
		this.gchNumStatus = gchNumStatus;
	}

	public BigDecimal getGchCurTotalcharge() {
		return this.gchCurTotalcharge;
	}

	public void setGchCurTotalcharge(BigDecimal gchCurTotalcharge) {
		this.gchCurTotalcharge = gchCurTotalcharge;
	}

	public BigDecimal getGchCurOthercharge() {
		return this.gchCurOthercharge;
	}

	public void setGchCurOthercharge(BigDecimal gchCurOthercharge) {
		this.gchCurOthercharge = gchCurOthercharge;
	}

	public BigDecimal getGchCurPaid() {
		return this.gchCurPaid;
	}

	public void setGchCurPaid(BigDecimal gchCurPaid) {
		this.gchCurPaid = gchCurPaid;
	}

	public String getGchCharGeneral1() {
		return this.gchCharGeneral1;
	}

	public void setGchCharGeneral1(String gchCharGeneral1) {
		this.gchCharGeneral1 = gchCharGeneral1;
	}

	public String getGchCharGeneral2() {
		return this.gchCharGeneral2;
	}

	public void setGchCharGeneral2(String gchCharGeneral2) {
		this.gchCharGeneral2 = gchCharGeneral2;
	}

	public String getGchCharGeneral3() {
		return this.gchCharGeneral3;
	}

	public void setGchCharGeneral3(String gchCharGeneral3) {
		this.gchCharGeneral3 = gchCharGeneral3;
	}

	public String getGchCharGeneral4() {
		return this.gchCharGeneral4;
	}

	public void setGchCharGeneral4(String gchCharGeneral4) {
		this.gchCharGeneral4 = gchCharGeneral4;
	}

	public String getGchCharGeneral5() {
		return this.gchCharGeneral5;
	}

	public void setGchCharGeneral5(String gchCharGeneral5) {
		this.gchCharGeneral5 = gchCharGeneral5;
	}

	public String getGchCharUpdatedby() {
		return this.gchCharUpdatedby;
	}

	public void setGchCharUpdatedby(String gchCharUpdatedby) {
		this.gchCharUpdatedby = gchCharUpdatedby;
	}

	public Date getGchDateUpdatedon() {
		return this.gchDateUpdatedon;
	}

	public void setGchDateUpdatedon(Date gchDateUpdatedon) {
		this.gchDateUpdatedon = gchDateUpdatedon;
	}

	public Set<BillingDetail> getBillingDetailCollection() {
		return this.billingDetailCollection;
	}

	public void setBillingDetailCollection(
			Set<BillingDetail> billingDetailCollection) {
		this.billingDetailCollection = billingDetailCollection;
	}

	public Set<GcDetails> getGcDetailsCollection() {
		return this.gcDetailsCollection;
	}

	public void setGcDetailsCollection(Set<GcDetails> gcDetailsCollection) {
		this.gcDetailsCollection = gcDetailsCollection;
	}

	public Set<GcFooter> getGcFooterCollection() {
		return this.gcFooterCollection;
	}

	public void setGcFooterCollection(Set<GcFooter> gcFooterCollection) {
		this.gcFooterCollection = gcFooterCollection;
	}

}
